import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase que contiene al enemigo de tipo Posicion
 * 
 * @author morales ibarra ivan israel
 */
public class Posicion extends Enemigo
{
    private GreenfootImage[] r;    
    /**
     *Constructor de la clase Posicion
     */
    public Posicion()
    {
        r=new GreenfootImage[12];
        r[0]=new GreenfootImage("PI1.png");
        r[1]=new GreenfootImage("PI2.png");
        r[2]=new GreenfootImage("PI3.png");
        r[3]=new GreenfootImage("PI4.png");
        r[4]=new GreenfootImage("PId1.png");
        r[5]=new GreenfootImage("PId2.png");
        r[6]=new GreenfootImage("PId3.png");
        r[7]=new GreenfootImage("PId4.png");        
        r[8]=new GreenfootImage("Pu1.png");
        r[9]=new GreenfootImage("Pu2.png");
        r[10]=new GreenfootImage("Pu3.png");
        r[11]=new GreenfootImage("Pu4.png");
       
    }


    /**
     *actua en el escenario
     */
    public void act() 
    {
        super.iniciaTimer();
        Plataforma world=(Plataforma)getWorld();
        if( super.dameCrono()>=20)
        {
              this.checaPosicion(world.dameJugador());
              super.actualizaCrono();
        } 
        super.checaJugador();
    }  
    
    /**
     * Verifica la posicion del jugador, para realizar la busqueda
     *
     * @param  jug el jugador del juego
     */
    public void checaPosicion(Jugador jug)
    {
        boolean rBand=false;
        if(jug.getX() < this.getX())
        {
            super.cambiaI(super.dameI()+1);
            super.cambiaI(super.checaIndice(4,super.dameI(),0));
            super.mueve(IZQ,r,super.dameD(), super.dameI(), super.dameP(), super.dameP());
        }
        else if(jug.getX() > this.getX())
        {
           super.cambiaD(super.dameD()+1);
           super.cambiaD(super.checaIndice(7,super.dameD(),4));
           super.mueve(DER,r,super.dameD(), super.dameI(), super.dameP(), super.dameP());
        }           
        else if(Math.abs( ( jug.getX()-this.getX() ) ) < 10 )
            {
                if(jug.getY() < this.getY())
                {
                   super.cambiaP(super.dameP()+1);
                   cambiaP(super.checaIndice(11,dameP(),8));
                   super.mueve(UP,r,super.dameD(), super.dameI(), super.dameP(), super.dameP());
                }
                    
                if(jug.getY() > this.getY())
                {
                   super.cambiaP(super.dameP()+1);
                   cambiaP(super.checaIndice(11,dameP(),8));
                   super.mueve(DOWN,r,super.dameD(), super.dameI(), super.dameP(), super.dameP());
                }
            } 
         Plataforma world=(Plataforma)getWorld();
         
    }

}
